The present invention relates to a graphics processing unit. Loading and processing data with the graphics processing unit (GPU) is controlled.
GPUs are provided as videocards on personal computers. Using the AGP specification, a central processing unit (CPU) coordinates the transfer of data from a random access memory to the GPU for video rendering. A memory control hub is connected by various buses to each of a source, a RAM, the CPU and the GPU. For example, an AGP chip set is used as a memory control hub. The memory control hub controls the data transfers between any of the various interconnected devices. The data is obtained from the source, such as a CD, diskette, or hard drive. The data from the source is routed to a random access memory (RAM). The CPU then copies the data from the random access memory into the CPU cache memory. For use of the GPU, the CPU copies the data to a graphics aperture region of the RAM controlled pursuant to a graphics aperture resource table (GART). Prior to copying the data to the graphics aperture region, the CPU may also reformat the data. This is because the GPU expects the data to be in a particular format in order to deliver maximum throughput. The data from the graphics aperture region is then transferred through an accelerated graphics port (AGP) to the video memory of the GPU. The GPU then performs various rendering or video processing and outputs a resulting image to a display. Pursuant to an application programming interface (API), the CPU controls operation of the GPU.
Since the CPU copies the data from the RAM to the graphics aperture region of the RAM, the data is copied multiple times. Any loading on the CPU for other processing may delay the transfer of data to the GPU. Since the CPU operations may be interrupted, the transfer of data to the GPU is inconsistent or non-deterministic.
The AGP hardware discussed above may be used in a medical diagnostic ultrasound system, such as disclosed in U.S. Pat. No. 6,358,204, the disclosure of which is incorporated herein by reference. The memory control hub connects a CPU to a memory. The two other ports of the memory control hub are connected to two different buses, one a system bus and another an ultrasound data bus. The ultrasound data bus connects to a source of ultrasound data as well as outputs of ultrasound data, such a scan converter connected with the display.